/*
 * 1.00 2012/10/16
 *
 * Copyright (c) 2012 Motch_bs
 * All rights reserved.
 *
 * このソフトウェアは，Motch_bsに所有される機密情報である。
 * これらの機密情報を漏洩してはならず，Motch_bs の意図する
 * 認可の元においてこれを使用すべし。
 */
package jp.co.ufp.voicetch.base.listener;

import jp.co.ufp.voicetch.base.logics.Logic010;
import jp.co.ufp.voicetch.base.util.AudioControler;
import jp.co.ufp.voicetch_free.R;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.DialogInterface.OnClickListener;
import android.content.res.Resources;

/**
 * @author Motch_bs
 * 
 */
public class RecordingDialogListener implements OnClickListener {

    /** コンテキスト */
    private Activity activity;

    /** オーディオコントローラー */
    private AudioControler audioControler;

    /** 録音時間 */
    private long recoringTime = 5000;

    /**
     * @param audioControler
     */
    public RecordingDialogListener(
	Activity pActivity, AudioControler pAudioControler, long pRecoringTime) {
	super();
	this.activity = pActivity;
	this.audioControler = pAudioControler;
	this.recoringTime = pRecoringTime;
    }

    /**
     * @see android.content.DialogInterface.OnClickListener#onClick(android.content
     *      .DialogInterface, int)
     */
    @Override
    public void onClick(
	DialogInterface dialog, int which) {
	// OKボタン押下時
	if (which == AlertDialog.BUTTON_POSITIVE) {
	    ProgressDialog progressDialog = new ProgressDialog(activity);
	    // プログレスダイアログのタイトルを設定します
	    progressDialog.setTitle(R.string.titleRecording);
	    // プログレスダイアログのメッセージを設定します
	    Resources res = activity.getResources();
	    String titleString = res.getString(R.string.messageRecording);
	    progressDialog.setMessage(titleString);
	    // プログレスダイアログの確定（false）／不確定（true）を設定します
	    progressDialog.setIndeterminate(false);
	    // プログレスダイアログのスタイルを水平スタイルに設定します
	    progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
	    // プログレスダイアログのスタイルを円スタイルに設定します
	    // progressDialog.setProgressStyle(ProgressDialog.STYLE_SPINNER);
	    // プログレスダイアログの最大値を設定します
	    progressDialog.setMax(100);
	    // プログレスダイアログの値を設定します
	    progressDialog.incrementProgressBy(30);
	    // プログレスダイアログのセカンダリ値を設定します
	    progressDialog.incrementSecondaryProgressBy(70);
	    // プログレスダイアログのキャンセルが可能かどうかを設定します
	    progressDialog.setCancelable(true);
	    // プログレスダイアログを表示します
	    progressDialog.show();
	    // Toast.makeText(activity, "録音を開始します。", Toast.LENGTH_SHORT).show();
	    Logic010 logic010 = new Logic010(activity, audioControler, progressDialog, recoringTime);
	    Thread t010 = new Thread(logic010);
	    t010.start();

	}
	// NOボタン
	else if (which == AlertDialog.BUTTON_NEUTRAL) {

	}
	// CANCELボタン
	else if (which == AlertDialog.BUTTON_NEUTRAL) {

	}

    }

}
